/*
@author: tk
@file: Fibonacci.go
@time: 2022/11/12 18:06
*/
/*
爬楼梯问题,一次爬1阶楼梯或者2阶楼梯,求爬到n阶楼梯有多少方法
 */
package main

import (
	"fmt"
	"math"
)

var n  float64
func main()  {
	fmt.Println("请输入您想攀爬的阶梯数n(正整数):")
	_,_=fmt.Scanln(&n)
	x := math.Floor(n)
	y := n-x
	if y>0||n==0||n<0 {
		fmt.Println("请输入一个大于零的整数!!!")
		return
	}
	fmt.Println("您挑战的楼梯数是:",n,"共有",add(n),"种方法")
}

func add(n float64)(ret float64)  {
	if n==1||n==2 {
		return n
	}
	if n>=3{

		numberz := add(n-1)+add(n-2)
		return numberz
	}
	return
}